//
//  TritonSDKDelegate.h
//
//  TritonSDK 协议头文件
//  Created by vinhankxiao on 2019/11/26.
//  Copyright © 2019 tencent. All rights reserved.
//


@class MABaseApplication;


NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, TTCurrentDebugState) {//当前小游戏的运行状态
    TTCurrentDebugState_Release, //线上普通用户模式
    TTCurrentDebugState_Debug, //Debug版本，可以显示vconsole和debug选项
    TTCurrentDebugState_DeviceDebug, //真机调试模式
};

@protocol TritonSDKDelegate <NSObject>

@optional

#pragma mark -
#pragma mark - 可选实现
/// 当前的调试状态，默认是Release
- (TTCurrentDebugState)currentDebugState;

/// 关闭小程序时回调，实现该方法后小程序关闭流程会被拦截，用于实现关闭挽留等需求
/// @param app 当前小程序
/// @param isCloseButton 是否由关闭按钮触发，因为有可能是开发商调用qq.exitMiniProgram触发的
/// @return 是否需要拦截关闭流程
- (BOOL)isBlockApplicationClose:(MABaseApplication *)app isCloseButtonClick:(BOOL)isCloseButton;

/// 通知宿主App，在iPad上转屏提醒VC的出现或者消失事件
/// @param isShow 提醒VC出现时为YES，消失时为NO
- (void)onShowOrRemoveRotationTipsIniPad:(BOOL)isShow;

/// 触摸事件回调
/// @param appID 当前游戏ID
- (void)didDetectTouchWithAppID:(NSString *)appID;

#pragma mark - 防沉迷

/// 是否开启防沉迷开关
- (BOOL)enableHeartBeart;

/// 防沉迷需要刷新登录态
/// - Parameters:
///   - complete: 刷新完成回调
///   - parentVC: 当前展示vc
- (void)needLoginAction:(void(^)(BOOL result))complete parentVC:(UIViewController *)parentVC;

/// 音频是否混播、静音能力控制
/// @param mixOther 是否混播
/// @param obeyMute 是否受静音键控制
/// @return 是否完成设置，YES为宿主完成音频控制播放，NO未设置，由SDK控制
- (BOOL)activateSessionMixWithOther:(BOOL)mixOther obeyMuteSwitch:(BOOL)obeyMute;

@end

NS_ASSUME_NONNULL_END
